FuTransformer: FP8 prefill and INT4 decode for Llama-style inference on Hopper
FuTransformer:面向 Hopper 的 Llama 式推理 FP8 Prefill 与 INT4 Decode
🧭 LLM 推理 GPU Kernel 与量化优化
在 H100 上实现 Llama 风格 Transformer 推理 CUDA kernel,prefill 用 FP8,decode 用 INT4 权重和旋转 INT4 KV cache,单步解码从 8.1ms 降至 2.8ms
📌 工作参考价值(4 点)
- 在线推荐/Agent 系统中 LLM 推理延迟敏感,可借鉴其 INT4 decode 方案:权重 INT4 + KV cache INT4,在 H100 上 batch=1 的 Llama-3.1-8B 单步从 8.1ms 降到 2.8ms,适合低延迟实时交互。
- 将量化权重和 keys 直接按 Tensor Core fragment layout 存储,避免生成完整中间 tile,减少显存读写和 kernel 复杂度;这项工程优化可复用到线上 embedding lookup 或 attention 模块的低精度部署。
- 使用 block-diagonal Hadamard 旋转抑制异常通道对 KV cache 量化误差的影响(旋转后 cache 量化仅增加 0.20 PPL),对用户行为序列、长历史 cache 的压缩存储有参考价值。
- 把固定 RMSNorm gain 折叠进权重、FP8 输出直接写入并采用 delayed scaling,合并多个独立 kernel 为 GEMM+epilogue,减少 kernel 启动和中间结果搬运,适用于实时特征服务中的算子融合。